Software and methods for automated pallet inspection and repair

ABSTRACT

An automated pallet inspection and repair apparatus comprises an inspection station and a repair station. The inspection station comprises a laser that illuminates a pallet, a camera that collects the reflected light and a computer system. The computer system analyzes the output of the camera and acquires the pallet&#39;s geometry and topography. The design of the pallet is determined by the computer software. A decision to repair the pallet is made by comparing acquired pallet data against the design criteria. If the pallet needs repair, a recipe of repair steps is constructed by inspecting each of the pallet&#39;s elements. The recipe is transmitted to the automated repair station.

RELATED APPLICATION

This is a divisional patent application of U.S. Pat. No. 8,881,360,which is a divisional patent application of U.S. Pat. No. 7,958,624,which is a National Stage Entry of PCT/AU2004/001776 filed Dec. 17,2004, which is a PCT application of Australian Patent Application No.2003907024 filed Dec. 19, 2003. The entire disclosures of which arehereby incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates generally to the repair of wooden pallets,and specifically to an automated process for scanning pallets andidentifying individual elements of the pallet for removal, replacement,or repair. It also applies to pallets constructed from other materialssuch as plastic, metal or composites.

DESCRIPTION OF RELATED ART

Commercial movement of materials typically uses a wooden pallet on whichthe material is placed or secured. This pallet is typically constructedwith a flat upper deck consisting of planks or boards of timber nailed,screwed, or glued to parallel beams known as bearers or stringers.Bottom boards are similarly attached to the bearers. The frameworkallows the insertion of the “forks” of a forklift or other machine toraise and move the pallet and its load of materials. There are severalpallet designs in use and are distinguished generally by place ofmanufacture and use. For example, pallets made and used in Australia,New Zealand, the United States, Canada, and Europe are all of differentdesigns. In some designs, for example, blocks are used with or in placeof bearers to separate the top and bottom boards. While timber palletsare the most common, pallets of other materials such as plastic, metal,or composite material are also in use.

During normal use, the pallets may be dropped, overloaded, crushed orotherwise damaged. Damaged pallets are often returned to the palletprovider or other supplier for inspection, repair or replacement. Theinspection and decision process is currently done by skilled humaninspectors, or by automated means that implement specific criteria, anddecide if a pallet is damaged, and if so, decide to repair or discardthe pallet. Using human inspectors is desirable because they can inspectand immediately repair each pallet at a single station. This can be doneby presenting each pallet in turn, for example, on a conveyor, such thatthe inspector can see pallet, decide if damaged, and repair it ordiscard it. Human operators, on the other hand, are undesirable becausethe inspection and repair decision is not uniform, as each inspectorwill naturally implement repair based on his or her judgement. It isalso undesirable from a safety point of view as accidents or injury mayoccur in such an environment.

Human operators may be replaced by an automated pallet inspection andrepair apparatus. Some current automated systems use stereoscopic pairsof cameras to collect pallet geometry and topography information, thenuse computer programmes to make a repair or discard decision byuniformly implementing specific pallet criteria. This is done by firstdetermining the pallet's design e.g. Australian or European thencomparing the geometry and topography of the individual pallet againstcriteria for the pallet's design. Current systems, however, decide onlyto repair or discard each inspected pallet, that is, each pallet eitherdoes or does not pass the inspection criteria. If the pallet passes, itis placed back in service. If it does not pass, it is sent for repair.The repair process in current automated systems, however, is similar tothe manual inspection process above. The pallets needing repair are sentby conveyor, past one or more human repair stations where the repairerinspects the pallet, determines what needs repair and then repairs it.In some cases, a pallet may be damaged to a degree that it is determinedto be beyond repair and may be discarded. A process where the repairermakes this determination has an additional disadvantage that repairermay be inclined to declare a pallet beyond repair, as it is minimisesthe work to be done. Even in the best case, a system with an automatedinspection and a human repairer has some of the same disadvantages (inuniformity and safety) of the totally human inspection and repairprocess.

What is needed is a process for automatically inspecting a pallet todetermine if it needs repair. If no repair is needed, the pallet isplaced back in service. If repair is needed, the pallet is sent to anautomated repair station with a list of repairs to be made. The repairstation receives the pallet and makes the listed repairs. Additionally,a determination may be made that the pallet is beyond repair, in whichcase, the pallet is sent to the repair station and is disassembled sothat undamaged components may be re-used.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and forfurther advantages thereof, reference is now made to the followingDescription of the Preferred Embodiments taken in conjunction with theaccompanying Drawings in which:

FIG. 1 is a schematic top plan view diagram of a pallet;

FIG. 2 is a schematic top plan view diagram of an inspection station;

FIG. 3 illustrates a schematic side elevation of a pallet; and

FIG. 4 illustrates a logic flow chart of a pallet repair process.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

An automated pallet inspection and repair system and apparatus comprisesan inspection station connected to a computer. A pallet to be inspectedis moved relative to the inspection head. The pallet may be on aconveyor or moved using a robotic manipulator or other device.Alternatively, the pallet may be in a stationary location and theinspection head may move across it. The sensing head comprises of a setof at least one laser and a camera, with the camera recording thereflected laser profile across a width of a pallet. Extra cameras can beused to scan wider areas but stereoscopic camera pairs are not needed.Resulting information from the sensing head is collected and processedby the computer to represent the geometry and topography of the palletas a two-dimensional representation. The representation is analysed sothat individual elements, (viz., boards, planks, bearers, blocks, etc.)are identified and located by coordinates. The pallet design isdetermined by the number, size, and location of the elements. Theelements are analysed against specific criteria for the pallet'sdetermined design. This includes criteria for the element alone (size,location, integrity, damage, missing or raised nails, etc.),inter-elemental criteria (spacing, overlap, etc.), and pallet designcriteria (missing or superfluous elements, etc). If the pallet isdetermined to have not passed the criteria, a list of specific repairsis generated. This list includes which element is to be repaired and thenature of the repair (remove, replace, reattach, repair, etc.). The datacomprising the list of repairs to be made accompanies the pallet to arepair station, either physically or logically through the use of atracking system. In preferred embodiments, the repair station is anautomated repairer, for example, a robot arm using a nail gun, band sawor other saw, prying levers, etc., to implement the exact repairsdetermined necessary. After repair, the pallet is returned to service.If the pallet is determined to have passed the criteria, it is returnedto service without stopping at the repair station. The analysis may alsoindicate that the pallet is not to be repaired, but rather disassembled.In this case, the list of repairs includes only the steps to disassemblethe elements for re-use, and the parts that are to be reused and thosethat are to be discarded.

In the preferred embodiment, the present invention provides coordinateoutputs sufficient to automate the component repairs, for examplethrough robotic arm movements, band saw positioning and activation, nailplacement, etc.

FIG. 1 illustrates one design of a pallet 100. The pallet consists oftop boards 102, labelled TB 0 through 7, and corresponding bottom boardslabelled BB0 through BB4. The top boards are supported by threehorizontal bearers or stringers 104, 106, and 108, labelled B0, B1 andB2. Other designs will have different numbers of boards, different sizedboards, and different spacing between boards, and may have differentnumbers and styles of bearers. Blocks and connector boards may besubstituted for bearers in some designs. In the illustrated, design, topboard 0 and top board 7 are wider than the other six boards. For thepurpose of this invention the pallet can be considered to be laid out inan orthogonal x-y-z configuration where the x-axis runs horizontally(with reference to FIG. 1) across the bottom of the pallet parallel tobeam or bearer 108. The y-axis runs vertically (with reference toFIG. 1) along the left edge of top board 1. The z-axis is orthogonal toboth x and y.

There are four processes that make up the preferred method of automatedpallet inspection and repair. The first process is data capture. Thismeans capturing all of the data about the physical or structural make upof a pallet that is required to make the determinations about thenature, extent and order of the repair process. The second process isthe analysis of the captured data. The analysis simplifies the data andrelates the data to known facts so that a repair process, using certainfixed processes can be specified. The third process is generating a listof detailed steps based on what repair processes are available and whatrepairs are needed, as determined by the data and analysis of it. Thedetailed steps necessary to make the repairs on a pallet is called a“recipe”. The fourth process is to implement the recipe using automatedequipment. In preferred embodiments, an industrial robot reads a stepspecified by the recipe and implements that according to a flexibleprogramme. Each step is processed in turn.

One embodiment of the present invention consists of two computer systemsand a mechanical means for moving pallets. These systems may reside onone or more physical computer processors or hardware, and may bedistributed or collected. The first computer system is called thecapture system, which collects information about the geometry andtopography of the pallet. The second computer system is called theanalysis system, which analyses the geometry and topography of thepallet and determines the pallet design and then using the pallet designspecifications analyses the pallet and decides whether it is to berepaired or returned to service. It is not required that the twocomputer systems be separate or distinct. The mechanical means movingthe pallet may be a conveyor belt or chain or a robotic arm or othersystem for transporting the pallet through the inspection head.

FIG. 2 illustrates one implementation 200 of the mechanical means formoving pallets. This comprises a chain conveyor supporting a pallet 204and moving it in the direction of the arrow, left to right. The pallet204 moves under twin lasers 206 and 208. These lasers illuminate andsensors capture the entire width of the pallet 204. In some embodimentsthere is an overlap in the laser beams in the middle as shown by 210. Asthe pallet 204 moves under the lasers 206 and 208, information about thegeometry and topography of a pallet is captured by cameras and sent tothe capture computer system 212. Such laser and sensor systems are wellknown, as are the methods for using such lasers to collect thisinformation. The system may be replicated to collect data on the otherfaces of the pallet simultaneously or asynchronously from the top deck.It will be obvious that this may also be achieved using a differentnumber of laser and camera combinations than the twin set up describedabove.

The capture computer system 212 performs the following steps. First itcollects the profile information of the pallet, that is, it collects thegeometry and topography information from the lasers and sensors. Thesensors return a stream of three-dimensional coordinates. Thecameras/sensors are synchronised so that overlapping points illuminatedby multiple lasers give the same coordinate values when viewed from eachsensor or camera. The scans from the two lasers are then combined togive a set of coordinates for the entire width of the pallet. Thisprocess is repeated for each profile scanned as the pallet movesrelative to the lasers and cameras

When analysing the top deck, the scanned data is filtered to give onlythe top surface geometry and topography. This is accomplished bydiscarding any points that have a z-coordinate that is below a giventhreshold or filter line. This removes from analysis any pointcorresponding to a bearer or the bottom of the pallet or thetransporting conveyor or robotic manipulator, for example. It will beobvious that the same process could be applied when analysing anyspecific face or deck of the pallet. In some embodiments, individualplanes are established for each bearer. The planes can be combined,averaged or used as separate data references.

The laser scans are timed according to the speed of the pallet transportmechanism so that scans occur at regular distances along the length ofthe pallet in the direction of movement. Typically, this is set to scanat 1 mm linear distance, though it could be at any chosen resolutiondistance.

Next, the corner points of the pallet are found using a 45-degreefilter. This locates the four points at the extremities of the pallet.That is, it finds the point of (minimum x minimum y (minimum x maximumy), (maximum x minimum y), and (maximum x maximum y). These four pointsdetermine the corners of the pallet. These are typically referred to asPP0, PP1, PP2, and PP3 respectively, where PP0 and PP2 lie on thex-axis, and PP0 and PP1 lie on the y-axis. PP0 and PP3 are diagonally,as are PP1 and PP2.

Next, the computer software finds the offsets between the image originand pallet origin to give the x and y offset distances of the pallet.That is, it calculates the size of the pallet by subtractingcombinations of PP0, PP1, PP2, and PP3. The data is also normalised byrelocating the coordinates so that PP0 lies at the origin of the palletcoordinate system, and PP1 and PP2 lie on the x- and y-axisrespectively. A second set of coordinates, based around the image datum,is used when calculating automatic repair parameters.

To convert from the three-dimensional topographical information to atwo-dimensional geometric representation, first the locations andheights of the bearers (labelled B0, B1, B2) are found in the image byinspecting the profiles most likely to represent bearer locations. Whenthe bearer heights and locations have been determined, a series offilter planes is drawn offset from the bearers (shown as element 302 inFIG. 3). This can also be achieved by finding planes best fitting thesurface of the boards and drawing a filter plane offset below. Eachpoint in the three dimensional representation is then checked againstthe corresponding filter plane. Points above the filter plane areidentified as belonging to boards, points below belonging to bearers orother structural elements. The board points are then further filteredand assembled into arrays of points on board edges belonging together.This can be done using any standard edge finding technique applied tothe set of points above the filter line and an edge chain followingalgorithm. These edge arrays represent boards or parts of boards and areused in later analysis. If a two dimensional (geometry only) scanningand inspection head is used, electronic means (eg sensor rangerestrictions) are used to filter the boards from other data, with thesame array identification and assembly process taking place. The arraysdo not contain height related data, only 2D geometrical position ofpoints above the filter line.

The analysis computer system 214 performs the steps shown in Table 1.

TABLE 1 Step Description 1 The data stream from the inspection head iscaptured to construct a pallet model in computer memory. This processuses the known resolution of the inspection head and the known palletvelocity and distance from the sensing head to construct a threedimensional topographic model and subsequently a two dimensionalgeometric model of the pallet being analysed. Pallet corner points arecalculated from topographical data and stored. 2 Geometric model isbroken down to give arrays of points representing the edges of eachboard (and edges of partial boards) 3 Board arrays are checked forcompleteness (i.e. is the edge a closed loop?) and consistency (i.e.edges do not cross). Joined boards are split by applying a virtual edgealong the most probable line of intersection between the boards. Wherethere are multiple arrays along a single line drawn parallel to the Yaxis and these arrays are all less than a full board length in the Ydirection and not overlapping or intersecting, they are classed as asingle (broken) board. Board arrays are then sorted by their minimum Xvalue, and their corner points are identified and stored. 4 By comparingthe number, type and location of identified boards and the separationdistance between pallet corner points with the range of possible knownpallet geometries, a pallet type can be assigned to the palletundergoing analysis, determined by the closest match against thedatabase of specifications. This matching process can be accelerated ifthe system need only expect a single pallet style. A pallet that cannotbe matched to a specific pallet style is marked as undefined and furtheranalysis on it is halted. 5 Board types can be assigned (e.g.Intermediate, Lead, etc) to each board based on its location relative topallet corner points and its approximate width (from board cornerpoints). Boards within a specified region of the pallet corner pointsare presumed to be lead boards. 6 Pallet quality criteria are loadedfrom the database into the analysis system for the particular pallettype determined above. Each board array can be checked against theappropriate board criteria for that board type. Board checks may includeboard width, notches or missing material, jagged edges, excessivecrookedness, or any other criteria. Any board array that fails thesetests is marked as a board to be removed. Topographic data for theregion corresponding to the board is also checked for board thickness,end splitting, cracks, holes and other three dimensional features, withfailures again being recorded for removal. 7 The board arrays areexamined against other quality criteria to determine if othernon-removal board repairs are necessary. An example would be theposition of the lead boards relative to the pallet corner points, withany lead board that is too far from the corner points marked to beadjusted, unless it has already been marked for removal. A hierarchy ofboard repair decisions is imposed with the board removal the highestprecedence, board realignment next, and any other operation lowest. 8Gaps are checked against gap criteria, such as gap width. Gaps that arelarger than a board width are checked to see if a board will allowablyfit into the gap with appropriate resulting gaps on either side (FIG.4). If a board will fit, a phantom array is constructed to represent themissing board, and it is marked for a board placement operation. 9 Allresults are stored in the database. At this point, all arrays are markedas either valid boards, or as boards to be removed, adjusted or operatedon. 10 When this system is implemented in an automated pallet repairsituation, further calculations and data manipulation are required.These calculations are specific to each machine in the repair cell, andmight include the location (X, Y & Z position and angles) required toinsert a bandsaw blade into a particular gap to perform the removaloperation for a board that has been marked for removal. Where this bladedoes not fit into the gap, the board is marked for removal with adifferent device. 11 A recipe is generated for the repair cell, with alist of operations (jobs) required to be performed to repair the pallet,and the associated data for each of these jobs. These are sorted toexpedite the repair cycle time 12 In an inspection system designed forsorting or for quality control purposes only, steps 10 and 11 areremoved, and replaced by further topographic analysis of protrudingnails and other features.

FIG. 4 illustrates the logic flow for step 8 in Table 1, the process forexamining the gaps 400. The software defines the storage arrays to holdgap values to use for each of the profiles 402. Each gap is initialisedto zero. Starting with the right hand edge of the left most board, thegap values are calculated for each board as shown in step 404. In step406 the gap values for each board have been stored, so the average gapcan be calculated. In step 408 the average gap is compared against thecriteria for gap based on the pallet design. If the gap is larger thanthe design criteria, the gap is marked as a bad gap, shown in step 418.In step 420, the bad gap is examined to see whether it is large enoughto fit a new board. If it is large enough to fit in a board, step 424calculates how many boards will fit into the gap. That number of boardsis then indicated for the repair orders. The software then moves to step422 to examine the next gap. However, if the decision made at step 420is that the gap is not wide enough to fit in the new board and it stillexceeds the criteria for the maximum gap, then step 428 is performed.Step 428 determines which boards must be removed and replaced to fix thegap.

In step 430 a check is made to see if one of the bounding boards iscrooked. If the bounding boards are crooked, the offending board isindicated for removal and replacement or repositioned, and the resultinggap is re-evaluated 426. If none of the bounding boards are crooked 430,then a check is made to see if one of the boards is missing any wood (orother material for non-timber pallets) 432. If one of the boards ismissing material, 432, an order is indicated to remove the board andre-evaluate the resulting gap in step 426. In step 432, if no boards aremissing any material, then step 434 is performed. A check of theneighbouring gaps is made. If one of the neighbouring gaps is smallerthan the other then an order is indicated to remove the board andre-evaluate the resulting gap step 426. If in step 434 the gaps areequal size then step 436 is performed, that is, the pallet is marked formanual inspection, or alternatively a decision can be made toarbitrarily remove one of the boards.

With reference to step 408, the average gap is compared against thedesign criteria, and if the average gap is acceptable, a test is made todetermine if there is a notch in the board. Such a notch would give afalse indication of a bad gap. The notch test is shown in steps 410through 416. At 410, the gap values across the notch length are addedand the average calculated. In step 416, the calculated average iscompared to the design criteria. If the average is greater than thedesign criteria and the gap is too big processing continues to step 418described above. If at step 416, the average gap passes the test againstthe design criteria that a check is made in step 414 to determine ifthere are more gap values to check. If there are more to check, the step412 is performed to add the next value and then subtract the first valueand recalculate the average. Processing then continues and step 416. Ifat step 414 there are no more gap values to check, then it has beendetermined that all gaps values are acceptable and processing continuesat step 422 to move to the next gap. If there are no more gaps to test,then processing ends at step 438.

Returning now to step 426, a repair order indicates the removal of aboard or the reposition it. Processing then continues at 404 torecalculate the average gap.

In this way, the pallet is examined board by board and repair orders arestored for later use or the pallet is returned to service. If the palletneeds repair, specific instructions are determined for removing,replacing, repositioning boards, or to add one or more boards, or toremove a protruding nail.

This provides a technical advantage over current automated palletinspection and/or repair systems, which only determine a pass-faildecision for the pallet's suitability, and no specific repairinstructions are generated. In addition, the technique of the presentinvention is sufficient to automate the repair process by connecting theoutput of the process to an automated repair station. Such a stationcould comprise a robot arm which grasps the pallet to be repaired, then,using a band saw and nail gun and other devices, removes and replacesspecified boards. The instructions to the robot arm would be to, forexample, “remove the board located between 22.5 cm and 40 cm from theleading edge, then nail a new board at 22.0 cm from the leading edge.”

This same logic may be applied to the inspection of and repositioning ofor replacement of the bearers, or alternatively to the lower deck of thepallet.

Controlling the robot in an automated repair cell based on theinformation generated by the pallet analysis system described aboverequires specific robot, PLC and computer system linkages or interfacessoftware.

Traditional robot control design is relatively simple, based around thepremise that the robot performs a repeatable job (or series ofrepeatable jobs) that can be predefined at the time the system isdesigned. Further, traditional robot systems require human interventionwhen there is a problem or a robot crash. To use a robot for palletrepair, it must dynamically change its program for each pallet to berepaired, based on the particular operations required and the locationof the boards or gaps to which these operations must be applied.Further, it must automatically recover from problems and minor crashes,and flag major crashes to an operator. To achieve this, the softwaresystem for cell control is broken into three components these are therobot controller, the programmable logic controller (PLC) and the repairrecipe generation sub-system described in Steps 10 and 11 of Table 1.The recipe generation sub-system loads the necessary robot operationsand associated position data into the PLC. This can be done in a singlebatch for a whole pallet, or sequentially as required. In preferredembodiments the data is sent as a single batch. Data is checked forconsistency and completeness, and any missing data is flagged to therecipe generation system.

The robot controller contains a master job and a series of sub-jobs thatthe master job can call when required. The master job communicates withthe PLC. The PLC tells the master job on the robot controller which subjob to call, and sends it the data that this sub-job will need to run,for example the location and angle of a particular board to be operatedon. This data is confirmed by the master job to the PLC, with the masterjob wailing for a handshake from the PLC before continuing. On receiptof the handshake, the sub-job is called. The first task in each sub-jobis to check the robot's current location. The position and angle of thepallet gripper must be within a certain envelope (which may be a sphereor a cylinder around a predefined point or line known as the sub jobhome position) for the operation to continue. If the robot is within theallowable envelope, the sub-job continues with the operation. At eachstep of the operation, a handshake is exchanged with the PLC. Thishandshake allows the PLC to monitor the point in the sub-job that therobot is up to, which is required for any automatic recovery operations.When the sub-job is finished (or if an error is encountered) control ofthe robot is passed back to the master job, which communicates with thePLC to get the next sub-job, and the process continues until the recipeis complete.

Each device in the repair cell is numbered, starting with device 02 andworking up to device 99 (this system could be extended to use any numberof digits depending on the number of devices in the cell, however twodigits are used in preferred embodiments). Robot sub-jobs that occur ateach of these devices are named after the device where they occur, eg atwo-digit code. The sub-jobs that control travel between machines arenamed by combining the names of the two devices between which the robotmust move (eg the sub-job for moving from machine 12 to machine 34 wouldbe 1234, whereas to move from 34 to 12 would be 3412). These numbers aregenerated by the repair recipe sub-system and passed as part of therecipe. The PLC then passes these names in turn to the robot master job,which then calls the matching sub-job.

Some numbers are reserved for emergency or other recoveries, namelydevices 00 and 01. This allows recovery sub-jobs to be defined for eachdevice as XX00 and XX01 where XX represents the device name. Recoveryjobs generally reverse out through the steps previously performed atthat machine, back to the robot home position for that device (eg ifsub-job 03 runs into trouble, the recovery job would be 0300 or 0301,depending on the alarm generated). Depending on the alarm condition, thecurrent recipe step is tried again, or the alternatively the recipe ischanged dynamically to overcome the problem. For example, lithe removalof a board to be removed with device 03 fails, and device 04 is alsodesigned to remove boards, extra steps can be added to the recipedynamically to take the pallet to device 04 and perform the removaloperation. Depending on the particular recipe, this action may takeplace immediately, or after the completion of any other pendingoperations at device 03.

The system relies on the PLC being in ultimate control at all times, andfor handshakes between the robot and the PLC between any operations, nomatter how small. For safety purposes, all robot operations must checktheir start position and confirm this with the PLC.

An alternative embodiment of the recipe system would be in a repair cellwhere the pallet is held in a single location and the inspection headand repair devices are brought to it. The pallet analysis would proceedas per the earlier description, as would the recipe generation. In thisstyle of embodiment, rather than the PLC instructing the robot to takethe pallet to a particular repair device, the PLC instructs the robot(or other manipulator) to bring the repair device to the pallet. Thetransfer of position data is identical to the above description, as arethe handshaking and robot location checking procedures.

We claim:
 1. A capture and analysis computer device for a palletcomprising a top deck and a bottom deck, with the top deck including topboards supported by bearer boards, the capture and analysis computerdevice comprising: at least one processor configured to perform thefollowing: collect from a plurality of lasers three-dimensional dataassociated with geometry and topography of the pallet, with the datahaving x-, y- and z-coordinates; convert the collected data into atwo-dimensional representation of the pallet by determining locationsand heights of the bearer boards, establishing at least one filter planeoffset from a surface of the top boards, with the at least one fitterplane corresponding to a threshold, comparing the collected data to theat least one filter plane, with the collected data above the at leastone filter plane being identified as top boards and the collected databelow the at least one filter plane being identified as bearer boards,and discarding the collected data having z-coordinates below thethreshold so as to discard analysis of the bearer boards; identifyingelements of the pallet by analyzing the two-dimensional representation;determining a pallet design based on size, number, and location of theelements; comparing the elements of the pallet against criteria selectedfrom a database of pallet designs; and creating a repair recipe if thepallet fails the criteria.
 2. The capture and analysis computer deviceof claim 1, wherein converting the three-dimensional data into atwo-dimensional representation further comprises: locating corners ofthe pallet; determining size of the pallet; and normalizing therepresentation relative to an origin.
 3. The capture and analysiscomputer device of claim 1, wherein comparing the pallet against thecriteria further comprises: identifying a location and size for each topboard in the two-dimensional representation; comparing the location andsize of each top board against the criteria; and identifying each topboard, location of each top board, the criteria, and the result of thecomparison.
 4. The capture and analysis computer device of claim 3,wherein creating the repair recipe further comprises: selecting one topboard from the top boards that failed the criteria; choosing a repairstep; encoding the selected top board, the location of the selected topboard, the criteria, and the repair step into an encoded repair step;and adding the encoded repair step to the repair recipe.
 5. The captureand analysis computer device of claim 1, wherein said at least oneprocessor is further configured to execute the repair recipe at a repairstation comprising: loading the repair recipe into a programmable logiccomputer; activating a robot controller to move and position a robot armholding the pallet at the repair station; selecting a tool; andcontrolling the tool to perform a repair step on the pallet.
 6. Thecapture and analysis computer device of claim 5, wherein the robotcontroller contains a master job and a series of sub-jobs, where themaster job is in communication with the programmable logic controller.7. The capture and analysis computer device of claim 6, wherein theprogrammable logic controller selects a sub-job from the series ofsub-jobs, directs the master job to execute the sub-job, where thesub-job determines: a first location of the robot arm; move the robotarm to a second location; selects the tool; and uses the tool to performthe repair step.